package com.ls.fw.office.itext.pdf.handler;

import com.itextpdf.text.DocWriter;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfPTable;
import com.ls.fw.office.itext.itext.builder.ISignatureBuilder;
import com.ls.fw.office.itext.pdf.builder.ParagraphBuilder;

public interface IPdfHandler {

	public Document getDocument();
	
	public DocWriter getWriter();

	public String getPath();
	
	public void open();
	
	public void close();
	
	public IPdfHandler addTable(PdfPTable table ) throws DocumentException;

	public IPdfHandler addSignatureField(ISignatureBuilder signatureBuilder);
	
	public void signWithAlias(String alias) throws Exception;
	
	public IPdfHandler withAuthor(String author);

	public IPdfHandler newPage() throws DocumentException;

	public IPdfHandler addParagraph(ParagraphBuilder withMarker) throws DocumentException;
}
